home *** CD-ROM | disk | FTP | other *** search
/ Aminet 6 / Aminet 6 - June 1995.iso / Aminet / dev / amos / PrgCollection.lha / Demo3.AMOS / Demo3.amosSourceCode < prev    next >
Encoding:
AMOS Source Code  |  1994-03-12  |  3.5 KB  |  138 lines

  1. ' *************************************
  2. ' *                                   *
  3. ' *            Demo 3 V1.0            *
  4. ' *      Written by Chris Hodges      *
  5. ' *                                   *
  6. ' *************************************
  7. '
  8. Dim B(3),C(3)
  9. Hide On 
  10. Unpack 11 To 0 : Screen Hide 0
  11. For A=0 To 58
  12.   Get Block A+1,(A mod 10)*32,(A/10)*32,32,32
  13. Next 
  14. Screen Open 1,356,34,16,0 : Screen Hide 1
  15. Curs Off : Paper 0 : Pen 1 : Flash Off : Cls 0
  16. Print : Print "                 HOD ROD!"
  17. Get Palette 0
  18. For A=0 To 3
  19.   C(A)=Logbase(A)
  20. Next 
  21. Unpack 10 To 0 : Screen Hide 0
  22. For A=0 To 3
  23.   B(A)=Logbase(A)
  24. Next 
  25. Copper Off 
  26. Cop Reset 
  27. For A=0 To 7
  28.   Cop Movel $120+A*4,Leek(Start(15)+A*4)
  29. Next 
  30. Cop Move $100,0
  31. Cop Wait $80,$2E
  32. Gosub LINE
  33. For A=0 To 15
  34.   Cop Move $180+A*2,Colour(A)
  35. Next 
  36. Cop Movel $108,0 : Rem    BPL1MOD BPL2MOD 
  37. Cop Movel $102,0 : Rem    BPLCON1 BPLCON2   
  38. Cop Move $8E,$3081 : Rem  DIWSTRT   
  39. Cop Move $90,$F0C1 : Rem  DIWSTOP 
  40. Cop Move $92,$38 : Rem    DDFSTRT 
  41. Cop Move $94,$D0 : Rem    DFFSTOP 
  42. Cop Move $E0,B(0)/$10000
  43. Cop Move $E2,B(0) and $FFFF
  44. Cop Move $E4,B(1)/$10000
  45. Cop Move $E6,B(1) and $FFFF
  46. Cop Move $E8,B(2)/$10000
  47. Cop Move $EA,B(2) and $FFFF
  48. Cop Move $EC,B(3)/$10000
  49. Cop Move $EE,B(3) and $FFFF
  50. Cop Move $100,$4200 : Rem BLPCON0  
  51. Cop Move $96,$8180 : Rem  DMACON  
  52. Cop Wait 0,$80
  53. Cop Move $100,0 : Rem     DMACON   
  54. Cop Wait $80,$81
  55. Gosub LINE
  56. Screen 1
  57. For A=0 To 15
  58.   Cop Move $180+A*2,Colour(A)
  59. Next 
  60. Cop Wait $10,$B3
  61. Cop Movel $108,$40004
  62. Cop Movel $E0,C(0)
  63. Cop Movel $E4,C(1)
  64. Cop Movel $E8,C(2)
  65. Cop Movel $EC,C(3)
  66. Cop Wait $10,$B4
  67. Cop Move $100,$4200
  68. For A=0 To 16
  69.   Cop Wait $10,$C4+A
  70.   Cop Move $180,Min(A,15)
  71. Next 
  72. For A=1 To 15
  73.   Cop Move $180+A*2,(Colour(A) or 15)-$500
  74. Next 
  75. Cop Wait $80,$D4
  76. Cop Movel $108,$FFACFFAC
  77. Cop Wait $10,$F0
  78. Cop Move $180,0
  79. Cop Wait $80,$F1
  80. Gosub LINE
  81. Cop Wait $FE,$FF
  82. ADR=Cop Logic : AD=ADR
  83. Cop Swap 
  84. Repeat 
  85.   Add AD,2
  86. Until Deek(AD)=$E0
  87. BP1=0 : BP2=0 : BP3=0 : SCROL=0
  88. S$=S$+"HOTSOFT PRESENTS ANOTHER INTRO!     BUT THIS TIME "
  89. S$=S$+"I USED A LOT OF COPPER INSTRUCTIONS TO GET SUCH NEAT "
  90. S$=S$+"EFFECTS LIKE THE GRAPHICS ABOVE!     IT WAS PRETTY "
  91. S$=S$+"HARD,   BUT YOU KNOW HOTSOFT IS ABLE TO "
  92. S$=S$+"DO NEARLY EVERYTHING!      NOW GREETINGS TO ALL MY "
  93. S$=S$+"FRIENDS.       "
  94. S$=S$+"THERE ARE SOME THINGS I WOULD LIKE TO HAVE IN FUTHER "
  95. S$=S$+"VERSIONS OF AMOS: LIKE A COMMAND WHERE YOU CAN ADD A "
  96. S$=S$+"COPPER INSTRUCTION TO THE NORMAL COPPERLIST FOR EXAMPLE "
  97. S$=S$+"TO CHANGE THE MODULO VALUES TO PRODUCE SUCH NICE MIRROR "
  98. S$=S$+"EFFECTS OR A FUNCTION WITH CONVERTS A INTEGER VALUE "
  99. S$=S$+"INTO A STRING OF INTERNAL FORMAT...      AND THERE IS A "
  100. S$=S$+"MAJOR BUG IN AMOS 1.32.    IF YOU PRESS THE HELP KEY, "
  101. S$=S$+"AMOS WILL LOAD THE HELP ACCESSORY INTO MEMORY AS MANY TIMES "
  102. S$=S$+"AS POSSIBLE AND STOP ONLY IF THERE IS NOT SUFFICIENT MEMORY "
  103. S$=S$+"ANYMORE!       WHAT A BUG!!!        THAT ALL!       "
  104. S$=S$+"SCROLL RESTARTS           "
  105. PB=1 : SC=32
  106. Screen 1
  107. Def Scroll 1,0,0 To 356,32,-4,0
  108. Music 1
  109. Repeat 
  110.   Wait Vbl 
  111.   Scroll 1
  112.   COPL[AD+2,B(0)+BP1*40]
  113.   COPL[AD+10,B(1)+BP2*40]
  114.   COPL[AD+18,B(2)+(255-BP1)*40]
  115.   Add BP1,-1,0 To 255
  116.   Add BP2,2,0 To 255
  117.   Add SC,4
  118.   If SC>31 Then SC=0 : A=Asc(Mid$(S$,PB,1))-31 : Put Block A,320,0 : Add PB,1,1 To Len(S$)
  119. Until Mouse Key
  120. Music Off 
  121. Copper On 
  122. End 
  123. LINE:
  124.   For A=0 To 15
  125.     Cop Move $180,A*$101
  126.   Next 
  127.   For A=0 To 6
  128.     Cop Move $180,$F0F
  129.   Next 
  130.   For A=15 To 0 Step -1
  131.     Cop Move $180,A*$101
  132.   Next 
  133.   Cop Move $180,0
  134. Return 
  135. Procedure COPL[ADR,V]
  136.   Doke ADR,V/$10000
  137.   Doke ADR+4,V and $FFFF
  138. End Proc